Location based service tools for video illustration, selection, and synchronization

ABSTRACT

Methods and apparatus, including computer program products, are provided mapping. In some example embodiments, there may be provided a method including generating, by a user equipment, a user interface view including a map and a polyline representative of a route along the map; and generating, by the user equipment, the polyline to include at least one graphically distinct indicator along the route, wherein the at least one graphically distinct indicator, when selected at the user interface, initiates presentation of a video recorded at a location on the route where the at least one graphically distinct indicator is located. Related apparatus, systems, methods, and articles are also described.

FIELD

The subject matter disclosed herein relates to location servicesincluding maps and videos linked to maps.

BACKGROUND

Navigation systems have become more prevalent today. These navigationsystems can be found in devices, such as smartphones, watches, personalnavigation systems, automotive navigation systems, and/or the like.These navigation systems may also access web-based services that canprovide location based services that augment the location servicesprovided by navigation systems.

SUMMARY

Methods and apparatus, including computer program products, are providedvideo data linked to maps.

In some example embodiments, there may be provided a method includinggenerating, by a user equipment, a user interface view including a mapand a polyline representative of a route along the map; and generating,by the user equipment, the polyline to include at least one graphicallydistinct indicator along the route, wherein the at least one graphicallydistinct indicator, when selected at the user interface, initiatespresentation of a video recorded at a location on the route where the atleast one graphically distinct indicator is located.

In some example embodiments, one of more variations may be made as wellas described in the detailed description below and/or as described inthe following features. The at least one graphically distinct indicatormay represent an indication of a speed of a camera recording the videoat the location. The user interface view including the map, thepolyline, and the at least one graphically distinct indicator may bepresented. The at least one graphically distinct indicator may include acolor, a style, and/or a shading, wherein the color, the style, and/orthe shading are varied in accordance with the speed. A first graphicallydistinct indicator may be graphically different from a secondgraphically distinct indicator to indicate a difference in the speed.The route along the map may include map data including locationinformation and time information, wherein the time information enables adetermination of the speed at the location corresponding to the at leastone graphically distinct indicator.

In some example embodiments, there may be provided a method includinggenerating a selection window on a user interface view presenting mapdata and a polyline representative of a route through the map data;sending a query for at least one video recorded on the route andrecorded within a region bound by the selection window; receiving, inresponse to the query, at least a portion of the polyline including theat least one video recorded on the route and recorded within the regionbound by the selection window; and presenting the portion of thepolyline to enable selection and viewing of the least one video.

In some example embodiments, one of more variations may be made as wellas described in the detailed description below and/or as described inthe following features. In response to the query, the map data includinggeographic features in a geographic region defined by the region boundby the selection window may be received. The map data may include atleast one of: at least one road segment database record, at least onenode database record, at least one pedestrian segment database record,at least one orientation node database record, and at least one imagedata record. The query may include information representative of theselection window and the route to enable a determination of the at leastone video selected based on location information and/or time informationstored with, or linked to, the at least one video. The route may includea street name, a pedestrian route, a footprint of a building, afootprint of a point of interest, a geographic area, and/or the point ofinterest. A playback speed of the at least one video based on a shape ofthe polyline, a speed associated with the portion of the polyline,and/or the map data associated with the portion of the polyline may bevaried. The at least one video within the region may be presentedsequentially based on time. The query may be sent to a server includingvideo data and the at least one video, wherein the video data is linkedto, or stored with, at least the map data including location informationto enable queries for the at least one video. A location of the at leastone video may be adjusted to the location information of the map data.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory onlyand are not restrictive. Further features and/or variations may beprovided in addition to those set forth herein. For example, theimplementations described herein may be directed to various combinationsand subcombinations of the disclosed features and/or combinations andsubcombinations of several further features disclosed below in thedetailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, show certain aspects of the subject matterdisclosed herein and, together with the description, help explain someof the principles associated with the subject matter disclosed herein.In the drawings,

FIG. 1A depicts an example of a polyline, in accordance with someexample embodiments;

FIG. 1B depicts an example of a process for generating a polyline, inaccordance with some example embodiments;

FIG. 2A depicts an example of a process for synchronizing video, inaccordance with some example embodiments;

FIG. 2B depicts an example of synchronizing video, in accordance withsome example embodiments;

FIGS. 3A-3D depicts example of video selection, in accordance with someexample embodiments;

FIGS. 4A-4C depict examples of icons that can be used to indicate avideo associated with a route, in accordance with some exampleembodiments;

FIG. 5 depicts an example of video search, in accordance with someexample embodiments;

FIGS. 6A-6B depict examples views providing videos for a route, inaccordance with some example embodiments;

FIG. 7 depicts an example of video editing, in accordance with someexample embodiments;

FIG. 8 depicts an example of a navigation system, in accordance withsome example embodiments;

FIG. 9 depicts an example of a map, in accordance with some exampleembodiments;

FIG. 10 depicts an example of a geographic database, in accordance withsome example embodiments;

FIG. 11 depicts some examples of components of a road segment datarecord which may be stored in the geographic database 116, in accordancewith some example embodiments;

FIG. 12 depicts an example of an image and/or video data record whichmay be stored in the geographic database 116, in accordance with someexample embodiments; and

FIG. 13 depicts an example of an apparatus, in accordance with someexample embodiments.

Like labels are used to refer to same or similar items in the drawings.

DETAILED DESCRIPTION

Navigation systems provide map data to enable users to navigate. Videosmay be used in conjunction with digital maps. For example, recordedvideo can be stored and associated with map data. When this is the case,a user may select a video associated with a given route or spatialregion, for example. From a user perspective, the integration of mapsand video data may be confusing and not easy to use.

Velocity-Based Polylines

Video may, as noted, be associated with map data including locationsand/or routes presented at a user equipment providing navigation, forexample. FIG. 1A depicts an example of user interface view 199presenting a map including a polyline 150, in accordance with someexample embodiments. The polyline 150 may represent a route. Moreover,the route may have one or more associated videos. For example, selectionof a portion polyline 150 may play a video corresponding to the selectedlocation. To illustrate further, the video may provide a walking view, adriving view, or a biking view at the selected location. In the exampleof FIG. 1A, polyline 150 includes a first portion at 152A and a secondportion at 152B, so selection of first portion 152A may cause a firstvideo corresponding to the location at 152A to be displayed, whileselection of second portion 152B may cause a second video correspondingto the location at 152B to be displayed.

In some example embodiments, the polyline 150 may include a graphicallydistinct indication of speed of the video camera that captured thevideo. Referring to portion of the polyline at 152A, the polylineportion 152A is darker in the example of FIG. 1A, when compared to thepolyline portion at 152B.

In some example embodiments, a darker polyline 152A graphicallyindicates that the speed of a video recorder (which recorded the videoassociated with 152A) is greater than the speed of a video recorder at152B (which recorded the video associated with 152B). In this way, userinterface view 199 graphically indicates at a user interface of a userequipment the speed associated with the video(s) along the route ofpolyline 150. Moreover, selection (for example, scrolling over and thelike) of each portion 152A and/or 152B may provide additional metadata,such as the actual or relative speed. For example, scrolling over 152Amay present at the display a speed value, such as 45 miles per hour,representative of the speed of the video recorder of the portion at152A. The selection may also present a relative speed indicator, such asa picture or icon of a car to represent driving speed. Likewise,scrolling over 152B may for example present a speed value of 4 miles perhour or an icon of a person walking. In this way, a user can selectvideos along a route according to speed.

Although the previous example describes the video of the faster videocamera being darker than the video of the slower camera, the video ofthe faster camera may be depicted along the polyline as being lighter.Moreover, although the previous example describes the video of thefaster video camera being darker than the video of the slower camera,the graphical indication of speed may be indicated in other ways, suchas via color, style change (for example, width change of the polyline).Moreover, the colors may be mapped to a specific speed. For example, 0-3miles per hour may be mapped to a first color, 3-10 may be mapped to asecond color, 10-30 may be mapped to a third color, and so forth.Further, the orientation of the camera may also be indicated graphicallyas well (for example, with an arrow or other indicator).

In some example embodiments, a user equipment including a video cameramay record a video. And, this recorded video may be associated withlocation information where the video was taken (or the location of thecamera) as well as other metadata including camera orientation (forexample, direction where the camera is pointing), time, and the like.The location information may comprise global navigation satellite system(GNSS) receiver, such as Global Positioning System (GPS), although othertypes of location information may be used as well. For example, thecamera orientation may be presented by a rotation matrix.

In some example embodiments, the user equipment may record the video.And, while recording, store GPS coordinates at predetermined timeintervals, such as every five seconds. The location and time informationmay be stored with, or linked to, the video. This video including theGPS coordinates and time information may be uploaded to a server wherethe video can be associated with map data for a navigation system. Forexample, at GPS coordinates, camera orientation, and/or time may bestored with each video frame. Given the location and time, the speed maybe determined for the video recorder taking the video. As such, when theuser equipment presents, at a user interface, a user interface view suchas view 199, the polyline 150 may be generated to graphically indicatespeed for portions of the video, in accordance with some exampleembodiments.

FIG. 1B depicts an example process for graphically indicating routevideo speed, in accordance with some example embodiments.

At 152, a user equipment may, while it is recording a video, fetchlocation coordinates from for example a source of location information,such as GPS information, in accordance with some example embodiments.For example, the user equipment may fetch (or otherwise obtain) GPSlocation information. Moreover, the fetching may be performed at apredetermined interval, such as every 5 seconds.

At 154, the recorded video data may be associated with locationinformation and/or time information. For example, the locationinformation and/or time information (or frame number within the video,for example) may be linked to, or stored with, portions of the recordedvideo. To illustrate, the recorded video may be kept at a separateserver and linked to map data including location information, and/or therecorded video may be stored with map data including locationinformation.

At 156, location information and/or time information may be stored alongwith, or linked to, the video data, in accordance with some exampleembodiments. For example, the recorded video data, location informationfor the video data, and the time information for the video data may, at154, be stored at (or linked to) a server, such as a navigation systemserver including map data. The video data (also referred to herein asvideo) may comprise data representative of a video recorded by forexample a camera, and this video data may include associated metadata.The navigation system server may store the videos (which includelocation information, time information, and/or other metadata) fromvarious user equipment including cameras. And, the navigation systemserver may store this information so that it is associated with mapdata, such a map routes or map locations, to enable viewing at a userequipment, when the map data is accessed. For example, a web-basedservice may provide the server including the map data and video to allowa plurality of user to access the video and map data.

In some example embodiments, the video may be stored with locationinformation and an explicit indication of time. While in some exampleembodiments, the location information may be stored at regular intervalssuch as every 5 seconds and/or other intervals in which case, timeinformation is implicit in the stored location information (for example,5 second intervals).

At 158, a user equipment may fetch map data for presentation at a userinterface, in accordance with some example embodiments. For example, theuser equipment may fetch map data, such as a route corresponding topolyline 150 as well as location and time information. At 160, the routecorresponding to polyline 150 including the graphical indications ofspeed as shown at 152A-B may be presented at a user interface of theuser equipment, such as a navigation system. For example, the userequipment may generate view 199 including the polyline 150 and graphicalindicators 152A-B.

In some example embodiments, the map data obtained at 158 may be storedwithin the video. For example, the associated map link identifier (ID),street name, road direction, or other map related attributes may beembedded into the video.

In some example embodiments, the map data including position and othermetadata may be stored externally from the stored video. When this isthe case, an external time-synchronization database may store a tableentry for each video file, wherein each entry may include a list ofvideo frame numbers or timestamp markers. Each marker may includegeo-position, orientation, and other map related information. When avideo is accessed, the database may associate the video timestamp (orframe-number for example) with the video markers stored under theassociated video table entry. As such, the video may remain stored as astandard video, without geo-spatial information. When this is the case,the video may be turned into a geo-spatial video on demand using thevideo identifier, video timestamps, and time-sync database. Spatialqueries and clipping may be implemented by using the time-sync database,wherein the actual (large) video files may not need to be accessed toperform the queries. In some example embodiments, the user equipment maygenerate speed values at different locations based on metadata providedby a navigation system server, while in some example embodiments, theserver may determine the speed. Regardless, the speed informationenables the polyline to be presented at the user equipment's userinterface with graphical indications of speed as shown at 152A-B.

In some example embodiments, user equipment may generate polyline 150 asan overlay indicative of a route, and then generate, based on determinedspeed, graphical indications of speed 152A and 152B. The generatedpolyline 150 including the graphically distinct indicators 152A-B maythen be presented at a user interface of the user equipment. In thisway, a viewer of polyline 150 including graphically distinct indicators152A-B can assess the speed of the video recording. For example, a usermay be able to tell whether a portion of a video along a route was takenwhile standing still, walking, running, and/or the like.

Video Synchronization

In some example embodiments, there may be provided a way to synchronizevideos captured at different times and/or locations. When one or morevideos are taken and associated with a route, those videos may be takenat different locations, at different times, and/or from different userequipment including cameras/video recorders. For example, two or morevideos (which are taken at a single location but at different times) maybe synchronized and then presented at a user interface of a userequipment.

FIG. 2A depicts an example process 200 for video synchronization, inaccordance with some example embodiments.

At 250, a user equipment begins recording a video, which may triggersending a request to a server for time data, such as a time stamp. Theserver may be a server associated with a navigation system providing mapdata and videos associated with locations and/or routes. At 252, theserver may receive the request, in which case the server may respond, at256, to the user equipment with the requested time information, such asthe time stamp, G. At 260, the user equipment may receive at time T, thetime information, such as the time stamp, so that the user equipment canstore the time stamp (as well as location information) with the recordedvideo.

The user equipment may, as noted, receive, at 260, time stamp G, andthis time stamp may be adjusted for time delays associated withrequesting and receiving the time stamp. For example, when the userequipment receives at time T the time stamp G, time T represents anestimate of the total round trip delay and time stamp G represents thetime when the server received the request and generated the time stamp.To estimate a recording start time (which occurred at 250, “0”), G maybe reduced by time T divided by 2 (recording start time=G−(T/2)). Thefollowing provides a numeric example. The user equipment may startrecording and send the request at 250 to a server. In response, theserver may send back time stamp G, 12:00:00:500 16.4.2015 (500milliseconds after noon, 16.4.2015). But the user equipment receivesthis time stamp at time T, which is 1 second after the user equipmentstarted recording the video. Video start time may be approximately12:00:00:000 (for example, G−(T/2)=12:00:00:500-(1000 ms/2)). As such,the video's recording was started approximately at noon, 12:00:00:000.

After a user equipment receives at 260 the time stamp (which may beadjusted as noted above) from the server, the video including locationand time stamp information may also be uploaded to a server. Moreover,one or more other user equipment may upload to the server videoincluding location and time stamp information (which may be adjusted asnoted). As such, the plurality of videos may be synchronized accordingto time provided by the server (or one or more servers having a commontime base). Later, when a video along a route is selected for display, auser equipment can synchronize videos according to a primary videoselected at for example a user interface. For example, a user mayselect, via a user interface, video A as a primary video and then selectvideo B as another video to be synchronized with video A. In thisexample, video A's starting time is 11:59:55 and B's 12:00:00. In thisexample, video A starts playing from the beginning, and video B startsto play after five seconds from the start of video A, and the sequenceof video A and B play is synchronized in accordance with the common timesource, such as the above-noted server.

FIG. 2B depicts an example of video synchronization based on location,in accordance with some example embodiments. FIG. 2B depicts an exampleof a user interface view that may be presented at a user equipment'suser interface. The user interface view includes polylines 272A-B, eachof which corresponds to a route including associated videos. Tosynchronize videos according to their location, a user may choose thevideos to be synchronized and/or a point 270 from a map. Next, videosthat are close to the point 270 may then be identified via a query to anavigation system server. Because videos include location coordinatesand time information, a comparison of route videos can be performedaccording to their recoding locations. This comparison may (or may not)take into account time. For example, point A 274A and point C 274B maybe identified as closest to the selected point B 270. This determinationmay be performed based on a distance threshold that is defined at theuser interface for example, or based on a default or programmaticallydefined threshold. For example, the videos recorded in the oppositesides of the same street may be identified as recorded substantially atthe same location since the distance of the recording locations arebelow the threshold, even if the GPS coordinates of the recordinglocations may be different. The distance threshold may be defined bymeters, as 5 m, 10 m, 20 m, 100 m, and so forth as illustrative andnon-limiting examples. In this example, the user equipment may presentplayback of videos from points A and C simultaneously without takinginto account time synchronization, although time synchronization mayalso be taken into account as well (in which case the play back sequencemay be dictated by time as well as location). To illustrate further,videos associated with rally cars as they drive the same route butstarting the race at different times can be synchronized by location(without time synchronization) to compare different drivers. By way ofanother example, that two videos shot along the same street but recordedin opposite direction of travel. In this example, when playing the twovideos, the frames may be synchronized by location, such that the videofor opposite direction of travel is played in reverse.

Area Selection Tool

FIG. 3A depicts polylines 350, 360, and 370 and a selection window 380,in accordance with some example embodiments. Each of the polylines mayhave one or more videos associated with the route. For example, userequipment may present one or more videos along polyline 350 providingviews of the route.

FIG. 3A depicts a selection window 380, in accordance with some exampleembodiments. This selection window 380 may trigger a search for, andpresentation of, videos according to location bound by the selectionwindow 380. For example, videos taking place only within the selectionwindow 380 may be presented at the user equipment. To illustrate,polyline 360 may be associated with one or more videos, but onlyportions of the video occurring within selection window 380 will bepresented for viewing at the user equipment, and those outside selectionwindow 380 may be blocked or inhibited from presentations.

Although FIG. 3A depicts a circular selection window, other shapesincluding polygons may be used for the selection window as well. Forexample, the area selection tool may comprise a curved shape, arectangle, a bounded region, a zip-code region, a geo-politicalboundary, a functional class, a street name, and/or the like.

FIG. 3B depicts selection window 380 selecting a portion of polyline360, in accordance with some example embodiments. The polyline 360 mayinclude a route having one or more videos along the route. However, onlya portion of the polyline 360 is located within selection window 380. Assuch, the user equipment may, based on the selection window, query forthe videos located within the location of the selection window and/oronly present a portion 365 of the polyline located within the geographicarea associated with selection window 380.

In some example embodiments, the selection window may be configured on auser interface of the user equipment. For example, a touch screen ormouse may be used to vary the selection window 380. Once the selectionwindow is configured on the user interface, the user equipment may sendthe selection window or a query corresponding to the selection window(for example, a query including a center point and radius) to a serverthat chooses all location-time combinations that are inside theselection window 380. The server may then respond with e the newpolyline 365 bound by the selection window 380 as well as the video(s)associated with the new polyline, so that the user equipment can presentthe video(s) taken in the selection window. In the example of FIG. 3B,clicking on the new polyline 365 plays a video starting at time andlocation 366A (first edge of the selection window) and ending at timeand location 366B (other edge of selection window).

FIG. 3C depicts another selection window 376A selecting three videos376B-D. In this example, the result of the clipped video is shown at376E. An example playback sequence is depicted at 376F. The sequence maybe based on time, so that the frames of video are ordered with respectto time. Specifically, the frames of video 376G (which corresponds tothe portion of 376D within the selection window 376A), video 376H (whichcorresponds to the portion of 376B within the selection window 376A),and video 376I (which corresponds to the portion of 376C within theselection window 376A) are arranged in a time sequence so that theframes within the selection window are presented in sequential, timeorder. As such, the user interview may only present the clipped videosbound by selection window 376A.

FIG. 3D depicts another example of a selection window 378A selecting aportion of a route associated with a video comprising one or more frames(represented by circles). In this example, only the frames bound byselection window 378A may be presented as shown at 378B-C.

In some example embodiments, the video clipping based on selectionwindows may also take in to account position information and time asshown above with respect to FIGS. 3C and 3D. This video clipping basedon geo-position and time ranges may enable the return a connected set ofsequential time based images as shown at 376F, for example. Toillustrate further, a user interface view may be generated that clipsvideo(s) to within Main Street, so that a video player does not have toplay through 10 minutes of video for example, to find Main Street.

The selection window may generate a query that filters out entire videosthat are not within the selection window and/or each resulting video maybe clipped to a specific a specific time range that satisfies the regionbound by the selection window (and corresponding query).

Alternatively or additionally, instead of physically clipping a video,the operation may just return a set of time range markers or framemarkers (which identify a portion of the video), such that the fullvideo is provided to a player, but the player can automatically jump tothe clipped portion. Referring to the Main Street example, the servermay return an entire video but indicate to a player that the clippedportion corresponding to Main Street is at 3:02-4:06, so player can jumpto 3:02 and play that portion. To illustrate further, the entire video376D at FIG. 3C may be returned by a server to the user equipment, butplayback back may automatically start playing at a time corresponding tothe start of clip 376G.

The selection window, such as box 376A, may correspond to a GPS boundingbox, a radius around a GPS point, and/or any other selection region.This may limit the play back of the video or clip the video to certaintime(s) within the selection window. In some example embodiments, avideo may be clipped so that only straight paths or routes are returnedto, or presented at the user equipment. Alternatively or additionally, avideo may be clipped so that it is stopped before the camera turnsrapidly (which may result in a blurry video). Alternatively oradditionally, a video may be clipped so that it only includes videowhere some type of turn maneuver is occurring. Alternatively oradditionally, a video may be clipped based on the GPS trace speed (forexample, only keep video when sections where the video GPS tracecorrespond to a speed faster than 30 miles per hour). Alternatively oradditionally, a video may be clipped based on the path heading (forexample, only keep video section where the video GPS trace is travelingnorth). Moreover, for each timestamp of a video, a video GPS point maybe projected to a specific map link and position on the link. The maplink identifier may be used to attach a video to a map database, and maybe used to enable video query and clipping based on map attributes.Alternatively or additionally, a videos may be clipped (for example,filtered) based on height and other obstruction information. Forexample, a video may be clipped that is obstructed by a building.Alternatively or additionally, a video may be clipped based on road type(for example, only include residential roads, only include pedestrianroutes, and the like).

Moreover, video playback attributes may be changed based on mapassociation. For example, video playback speed may be varied based on aspeed limit associated with a given street. When this is case, fasterplayback may be provided on highways when compared to slower residentialstreet playback. Moreover, if the speed is beyond a threshold speed,video frames may be skipped.

Moving Videos Area Selection Tool

FIG. 4A depicts an example of a user interface view 450 presented at auser interface of a user equipment, in accordance with some exampleembodiments.

The user interface view 450 may include a route represented by polyline460. Along the route indicated by polyline 460, there may be one or morevideos associated with the route. In the example of FIG. 4A, the routeincludes 3 videos represented by 462, 464, and 466. For example, videoselection icon 462 may be associated with a first video (or one or moreframes of a video) for the route. Moreover, the video selection icon 464may correspond to a second video at the location where video selectionicon 464 is located, while video selection icon 466 may correspond to athird video at the location where video selection icon 466 is located.

Moreover, the video selection icons 462-466 may also include a graphicalindication of the orientation of the source video camera taking thevideo, in accordance with some example embodiments. For example,selection icons 462-466 may include an arrow to depict an orientation ofthe camera that recorded the corresponding video.

When video selection icon 462 is selected, a video (or portion thereof)may be played for the location where icon 462 is located on the route.In this example, the video selection icon 462 may present frame(s) 470,which may be stored at a server including navigation/mapping data.Moreover, the icon 462 may include a graphically distinct element, suchas arrow 463, to indicate the camera orientation to the scene recordedin the video. The frame, orientation, and other map metadata may bestored, as shown at 474, in a server, such as a navigation server orassociated image or video server, to enable queries and subsequentpresentation. FIG. 4A also shows the frame(s) 478 associated with icon464, and frame(s) 480 associated with icon 466. FIG. 4A thus depicts anexample of how geo-referenced user videos may be presented at a userinterface as moving video displays on map, such as a 2D or 3D map. Theicons 462-466 may graphically indicate both the position of the video(or frame(s) thereof) and orientation of the video (or frame(s) thereof)along a route.

FIG. 4B depicts is similar to FIG. 4A in some respects but includesthumbnails 482-486 of video rather than a dot as shown at 462-486, inaccordance with some example embodiments. In some example embodiments,selection may be temporal, via slider 492, and/or spatial via selectionof the thumbnails along route 460. The orientation of the video may varyas shown based on the orientation of the camera.

FIG. 4C depicts selection of thumbnail 484 via time slider 492 and/orspatial selection, in accordance with some example embodiments. Forexample, moving time slider may sequence in time through the route andcorresponding video. Here, the slider position results in the selectionof thumbnail 484, although thumbnail 484 may also be selected byclicking (or otherwise selecting by clicking 484). Alternatively oradditionally, thumbnail 484 may be selected, and then slider 494 may beused to traverse in time through the video segment associated withthumbnail 484.

FIG. 5 depicts an example of video search, in accordance with someexample embodiments. To locate videos, a map, such as 2D map display 550presented at a user interface of a user equipment, may be used to zoominto a spatial region 560. The videos geo-referenced, or indexed, to theregion 560 of the map may be displayed as animated video along theircorresponding routes, such as routes 570A-F. The user may select aspecific video thumbnail to open the full video display.

Moreover, the video clipping of FIG. 5 may also take in to account timeranges, speed, and/or location to generate a query that returns forexample a connected set of sequential time based video sequence. Inaddition, map-matched data associated with the video geo-position,and/or from map data previously embedded into the video may be used tofurther filter the query results. For example, the query may specifyprovide a video of Main Street, and the query would return only aportion of the video associated with Main Street or the entire video(but include metadata indicating where the Main Street portion islocated in the video). The returned video may filters portions of thevideo that are not relevant, so the returned video represent a clipbound by for example the geographic bounding region 560 (although speedand time may also be used as well to filter the video(s)).

In another example embodiment, the associated map data may be used tospatially filter results to within a specific map boundary, such as acity or neighborhood boundary. In some other example embodiments, videomight be clipped based on a specific building's footprint, or within 100meter (m) of a building or point of interest (POI).

In another example embodiment, 3D map data may be used to select andclip video. Suppose for example it is desired to return spatiallyclipped videos for a 100 meter area around a user's current locationwithin a city. However, the user in this example only wants to seevideos of the part of the city that the user can currently view. Theuser in this example does not want to see videos that are for examplearound the corner or behind buildings. In this example, the 3D buildingmodels from the map might be used to filter any video sections that arenot visible from their current location. Likewise, if videos arerequested for region around a specific journey view bubble (1^(st)person viewpoint along a road), they likely do not want video sectionsthat disappear behind trees or buildings. As such, depth images that areassociated with the journey view bubble can further filter video regionsthat are only visible from the bubble viewpoint. The bubble depth map,the bubble geo-locations, and the bubble original may be used to computethe geo-location of each image pixel. Each of the potential videogeo-locations may be checked against the image pixel locations. If thevideo geo-location is further away from the view center than the imagepixel geo-locations, then those video sections may be removed from thequery result.

To illustrate further, the query may identify a portion of the video ata certain location, route, or bounding region. The query may alsospecify a time (or time period). Moreover, speed may also be specifiedin the query. For example, the query may search for portions of videowithin bounding box 560, occurring at midnight, traveling North, andrecorded at a speed of 75 miles per hour. In this example, the query mayreturn for presentation a portion of a video associated with polyline570C that satisfies those query parameters. As such, the user equipmentmay then present the specific portion(s) occurring within bounding box560, occurring at midnight, traveling North, and recorded at a speed of75 miles per hour. In some example embodiments, a query may return onlyvideos on specific map related attributes, such as only videos capturedwhile on pedestrian paths, or only videos that pass in front of aspecific storefront, building, or address.

In another example, the spatially clipped videos might define a maximumand/or minimum duration. For example, if a large location is queried, itmight be desirable to only include 30 seconds of the video portion thatis closest to the center of the queried region. Likewise, if a video hasonly one frame that falls within the query, a minimum of +/−5 secondsaround the frame might be included.

FIG. 6A depicts videos that may be shown in journey view bubbles (streetlevel imagery). When a user views a street-level image, videos that aregeo-referenced to the geo-location, road link, or point of interest maybe displayed as moving images in the bubble view (for example, thejourney view images can provide a backdrop for the geo-referenced uservideos). In some example embodiments, GPS traces 610 (without video) maybe displayed as shown. However, a server may provide video frames toprovide a so-called journey view along the route. The journey view mayprovide a video from the perspective of for example a person walking,biking, or driving the route. The journey view may also includedifferent orientations, so that views of the area surrounding the routemay also be viewed at each location along the GPS trace. For eachgeo-location and orientation, the user equipment may send a request to aserver for a journey view image that is on, or near, the requestedgeolocation. In response, a portion of the video or image may beextracted based on the desired orientation. The orientation may bedefined by the user provided trace, or by computing an offset directionfrom the journey view image to the indicated geo-location.

In the FIG. 6A example, a user, such as a parent, may be viewing at alive GPS trace 610 of their child's current phone location. Instead ofjust a dot on the map, the parent is presented with a video display onthe map. And, this video may display a street level view where theirchild is currently located as well as where the child has been. As thechild moves in this example, the video thumbnail is updates as shown asthe child moves from 605A to 605B.

FIG. 6B depicts another journey view video, in accordance with someexample embodiments. In the example of FIG. 6B, the GPS route traces,such as polylines 670A-C, may be presented as a user interface viewincluding icons 672A-C. Each of the icons 672A-C may include a graphicalindication of the orientation of the video. For example, icon 672Cincludes a video with an orientation along the direction of travelassociated with polyline 672C. As such, selection of icon 672C mayprovide a video view of the journey along the route associated withpolyline 672C. In the example depicted at FIG. 6B, the playback of threevideos is presented moving along their captured GPS traces, as seen fromthe perspective of the journey view image. Instead of showing videos ona top-down map, they are presented here as a 1^(st) person viewpoint atroad level. This view includes geo-location origin, an orientation, andperspective, such that the GPS traces are displayed in a spatiallycorrect 3D environment. For example, the video images may become smalleras they move further away from the journey view's origin. In someexample embodiments, a pedestrian captured video (672C) may appear as amoving video that travels along the sidewalk of the journey view image.

FIG. 7 depicts video editing, in accordance with some exampleembodiments. For example, editing including adding geo-location tonon-geo-referenced videos (or for example, where GPS is not availablesuch as within certain structures including some indoor malls) may beperformed using a map display. In the example of FIG. 7 , a user maydrop each video frame 710 on the map to add geo-referencing to the videoframe. Likewise, they may slide, or rotate the video frame on the map toedit existing video geo-reference data.

In some example embodiments, a user may and or edit road databaseattributes to each frame, such as road links, points of interest, orbuilding. Custom, user defined attributes or comments may also be addedto each frame which has a geo-location. When replaying the video, thesecustom attributes are shown on the map at the stored geo-location fromthe video.

In some example embodiments, the video geo-position may be stabilized bymap-matching the GPS positions onto a map database, such that theposition might be snapped onto the road or pedestrian links.

In some example embodiments, the playback rate of clipped/queried videomay be based on: speed of travel when the video was captured, postedspeed from the map database, curviness of the captured path, anurban/rural region, and/or the like. For example, if the video is alonga straight section of road traveling 100 miles per hour, the video mightbe automatically played back at a higher rate. Alternatively oradditionally, a video captured on a curvy, pedestrian path might beplayed back at a slow rate since more details are likely captured in thevideo. Moreover, video frames may be skipped to shorten the videoduration. For example, a long straight section of road is selected for 1mile. In this example, only every 1/10^(th) frame might be displayed onplayback.

In some examples embodiments, the clipped videos for a region might bedisplayed as one or more stationary video inset frames. In some examplesembodiments, the videos may be displayed as a moving frame that travelsalong the video traces and are overlaid onto a map.

In some examples embodiments, video delivered to the user may be clippedfiles; in other examples, the user may be presented with the full videofile, but with the video auto-advanced to the starting region of theclipped time range along with auto start and stop markers for the timerange.

The following provides an example navigation system in which the subjectmatter described herein may be implemented, although other systems maybe realized as well.

FIG. 8 depicts an example of a system 800 providing at least anavigation system 100, in accordance with some example embodiments. Thesystem 800 may comprise at least one computing platform 102, such as auser equipment (for example, a smartphone, a mobile phone, a tablet, apersonal navigation device, a smart watch, and/or a vehicular navigationsystem) and/or any computer or processor-based device. Moreover, system800 may include a processor 104, a drive 106 coupled to processor 104,and a memory 108, such as non-volatile memory (although volatile memorymay be used as well) for storing navigation application software program110 and/or other information.

System 800 may also include a positioning system 112. Positioning system112 may utilize GPS-type technology, a dead reckoning-type system, orcombinations of these or other systems. The positioning system 112 mayfurther include sensing devices that measure the traveling distancespeed, direction, orientation and so on. The positioning system 112 mayalso include a GPS system and/or the like. The positioning system 112may provide output signals to processor 104. Navigation applicationsoftware programs 110 may use the output signal from the positioningsystem 112 to determine the location, direction, orientation, etc., ofthe computing platform 102.

System 800 may include a user interface 114 to enable an end user forexample to input information into system 800 and obtain information fromthe system 800. This input information may include a request fornavigation features and functions of navigation system 800. Moreover,information from system 800 can be displayed on a screen of userinterface 114. The screen may also display velocity based polylines,route videos, synchronized videos, selection windows/tools, and/or thelike as disclosed herein. To provide navigation features and functions,system 800 may access a geographic database 116 stored on a storagemedium 118. Storage medium 118 may be installed in drive 106 so that thegeographic database 116 can be read and used by the system 800, althoughother forms of storage including non-volatile and/or volatile memory maybe used as well.

Geographic database 116 may be a geographic database published by HERENorth America, LLC of Chicago, Ill., although other types of geographicdatabases may be used as well. Storage medium 118 and geographicdatabase 116 do not have to be physically provided at the location ofthe system 800. Alternatively or additionally, storage medium 118, uponwhich some or the entire geographic database 116 is stored, may belocated remotely (for example, at a web-accessible server) from the restof the system 800 and portions of the geographic data may be providedvia a communications system 120, as needed.

Navigation application software program 110 may load from storage 108into a random access memory (RAM) 122 associated with processor 104. Theprocessor 104 may also receive input from user interface 114. System 800may access geographic database 116 stored at storage medium 118 (whichmay be in conjunction with the outputs from the positioning system 112and the communications system 120) to provide various navigationfeatures and functions. The navigation application software program 110may include separate applications (or subprograms) that may providevarious navigation-related features and functions. For example,navigation functions and features may include route calculation 124(wherein a route from an origin to a destination is determined), routeguidance 126 (wherein detailed directions are provided for reaching adesired destination), map display 128, and positioning 130 (e.g., mapmatching). Other functions and programming 132 may be included in thenavigation system 800 including people and business finding services(e.g., electronic yellow and white pages), point of interest searching,destination selection, location based services, location baseadvertising services, velocity based polylines, route videos,synchronized videos, selection windows/tools, and/or the like asdisclosed herein. Alternatively or additionally, system 800 may includeone or more local components (for example, located physically with anend user) accessing one or more remote components. For example, anavigation services server may be implemented as a remote component. Inthis example, navigation application software programs 110 andgeographic database 116 may reside with the navigation server.

To provide navigation-related features and functions to an end user,system 100 may access geographic database 116 which may includeinformation about one or more geographic regions. FIG. 9 illustrates anexample of a map 200 of a geographic region 202. The geographic region202 may correspond to a metropolitan or rural area, a state, a country,or combinations thereof, or any other area. Located in the geographicregion 202 may be physical geographic features, such as roads, points ofinterest (including businesses, municipal facilities, etc.), lakes,rivers, railroads, municipalities, etc. FIG. 9 may also include anenlarged map 204 of a portion 206 of the geographic region 202. In thisexample, enlarged map 204 illustrates part of a road network 208 in thegeographic region 202. The road network 208 may include for exampleroads and intersections and the like located in the geographic region202. As shown in portion 206, each road in geographic region 202 may becomposed of one or more road segments 210. The road segment 210 mayrepresent a portion of the road. In the example of FIG. 9 , each roadsegment 210 may have two associated nodes 212 (for example, one noderepresents the point at one end of the road segment and the other noderepresents the point at the other end of the road segment). The node 212at either end of a road segment 210 may correspond to a location atwhich the road meets another road (for example, an intersection, orwhere the road dead-ends). Moreover, portion 206 may also include pathsor a path network (not shown) that may be traversed by pedestrians, suchas in a park or plaza. As noted, the map may also velocity basedpolylines, route videos, synchronized videos, selection windows/tools,and/or the like as disclosed herein.

FIG. 10 depicts an example implementation of geographic database 116.Geographic database 116 may include data 302 that represents some of thephysical geographic features in the geographic region 202 depicted inFIG. 10 . The data 302 may include data that represent road network 208.Moreover, geographic database 116 (which represents the geographicregion 202) may include at least one road segment database record 304(also referred to as “entity” or “entry”) for each road segment 210 inthe geographic region 202. The geographic database 116 may also includea node database record 306 (or “entity” or “entry”) for each node 212 inthe geographic region 202. The terms “nodes” and “segments” representonly one terminology for describing these physical geographic features,and other terminology for describing these features is intended to beencompassed within the scope of these concepts. Geographic database 116may also include at least one pedestrian segment database record 308 foreach pedestrian segment in the geographic region 202 and orientationnode database record 310 for each orientation node in the geographicregion 202. Pedestrian segments and orientation nodes are associatedwith paths that may be traversed by pedestrians, such as in the park orplaza. Although a pedestrian segment is depicted, other types ofsegments may also be included such as a driving segment, a trainsegment, a bus segment, a biking segment, and/or the like.

Geographic database 116 may also include, or be linked to, other kindsof data 312, such as videos of routes as disclosed herein. The otherkinds of data 312 may represent other kinds of geographic features oranything else. The other kinds of data may include point of interestdata. For example, the point of interest data may include point ofinterest records comprising a type (e.g., the type of point of interest,such as restaurant, hotel, city hall, police station, historical marker,ATM, golf course, etc.), location of the point of interest, a phonenumber, hours of operation, etc. The geographic database 116 alsoincludes indexes 314. The indexes 314 may include various types ofindexes that relate the different types of data to each other or thatrelate to other aspects of the data contained in the geographic database116. For example, the indexes 314 may relate the nodes in the node datarecords 306 with the end points of a road segment in the road segmentdata records 304. As another example, the indexes 314 may relate pointof interest data in the other data records 312 with a road segment inthe segment data records 304.

FIG. 11 shows some of the components of a road segment data record 304contained in the geographic database 116, in accordance with someexample embodiments. The road segment data record 304 includes a segmentID 304(1) by which the data record can be identified in the geographicdatabase 116. Each road segment data record 304 has associated with itinformation (such as “attributes”, “fields”, etc.) that describesfeatures of the represented road segment. The road segment data record304 may include data 304(2) that indicate the restrictions, if any, onthe direction of vehicular travel permitted on the represented roadsegment. The road segment data record 304 includes data 304(3) thatindicate a speed limit or speed category (i.e., the maximum permittedvehicular speed of travel) on the represented road segment. The roadsegment data record 304 may also include data 304(4) indicating whetherthe represented road segment is part of a controlled access road (suchas an expressway), a ramp to a controlled access road, a bridge, atunnel, a toll road, a ferry, and so on. The road segment data record304 also includes data 304(6) providing the geographic coordinates(e.g., the latitude and longitude) of the end points of the representedroad segment. In some embodiments, the data 304(6) are references to thenode data records 306 that represent the nodes corresponding to the endpoints of the represented road segment.

The road segment data record 304 may also include or be associated withother data 304(7) that refer to various other attributes of therepresented road segment. The various attributes associated with a roadsegment may be included in a single road segment record, or may beincluded in more than one type of record that cross-references to eachother. For example, the road segment data record 304 may include dataidentifying what turn restrictions exist at each of the nodes whichcorrespond to intersections at the ends of the road portion representedby the road segment, the name or names by which the represented roadsegment is known, the street address ranges along the represented roadsegment, and so on.

FIG. 11 also shows some of the components of a node data record 306contained in the geographic database 116. Each of the node data records306 may have associated information (such as “attributes”, “fields”,etc.) that allows identification of the road segment(s) that connect toit and/or it's geographic position (e.g., its latitude and longitudecoordinates). For the embodiment shown in FIG. 11 , the node datarecords 306(1) and 306(2) include the latitude and longitude coordinates306(1)(1) and 306(2)(1) for their node. The node data records 306(1) and306(2) may also include other data 306(1)(1)-306(1)(3) and306(2)(1)-306(2)(3) that refer to various other attributes of the nodes.This other data may include images, route videos along a given route,and/or metadata associated with the route videos.

FIG. 12 depicts an example of image (such as a video, for example) datarecord 1000 which may be stored at geographic database 116. The imagedata record 1000 may include an image ID 1000(1) by which the datarecord for the image or videos to be identified in the geographicdatabase 116. Each image data record 1000 may have associated with itinformation (such as “attributes”, “fields”, etc.) that describesfeatures of the represented image/video. The image data record 1000 mayinclude data 1000(2) or a feature code that indicates a type ofgeographic feature captured in the respective image/video, such as aroad segment, road intersection, pedestrian segment, orientation node,point of interest, scenic view or any geographic feature of thegeographic region. The image data record 1000 may include data 1000(3)that indicate a location associated with the image/video, such as thelongitude and latitude coordinates of the location. The image datarecord 1000 may also include data 1000(4) that indicates adirection/orientation associated with the image/video, such as adirection associated with a control point in the image. The data mayalso include time stamps to enable velocity based polyline generationand/or speed information to enable velocity based polyline generation.

Image data record 1000 may further include data 1000(5) enabling theimage or video to be displayed. Image data record 1000 may also includeoverlay data 1000(6) providing data to allow the navigation system 100to create guidance information overlays on the image, such as polylinesand the like. In some example embodiments, the overlay data 1000(6) mayidentify overlay pixels corresponding to guide points and label pointsof the image. Overlay data 1000(6) may identity the overlay pixels thatcorrespond to geographic features, such as road segments, pedestriansegments, nodes and orientation nodes to allow route highlights andmaneuver arrows to be overlaid on the image/video at locationscorresponding to the geographic features. Furthermore, the overlay data1000(6) may identify overlay pixels corresponding to points of interestor other items in the image suitable for guidance information overlays,such as text, advertising and icons. The overlay data 1000(6) may alsoindicate the style and information included in the guidance informationoverlay. By identifying the pixels in the image/video, guidanceinformation overlays may be created dynamically by the system 100, whichmay avoid having to store multiple copies of the same image. Forexample, the overlay may be an arrow pointing to a direction tomovement. As another example, the overlay may be a route highlightcomprising series of dots for the user of the system 100 to follow. Anyother overlay may be used, such as labels and direction indications. Inan alternative embodiment, the overlay data 1000(6) may contain aplurality of established guidance information overlays, such as routehighlights or maneuver arrows associated with road segments orpedestrian segments.

The image data record 1000 may also include data 1000(7) indicating ageographic feature ID or several geographic features associated with theimage/video. The image/video may be cross-referenced with the geographicfeature(s). The associated geographic feature ID data may be a roadsegment ID, node ID, pedestrian segment ID, orientation node ID, pointof interest ID or a reference to any other geographic feature of thegeographic database 116. The image data record 1000 may also includeother data 1000(8). Image data record 1000 may also include dataproviding a vector data clip corresponding to the photo or video data1000(5).

In some example embodiments, one or more processed or generated videoviews from the data collected may be stored in a separate video (orimage) database. This view data may include video data files or imagedata files that correspond to composite or stitched images/videos thatrepresent panoramic image/video views. Alternatively, raw, preprocessed,and/or other image/video data may be stored in the image database. Also,links, IDs, or data associations that associate map data or maprepresentations or depth maps with specific image/video views may bepart of the view data, may be stored in indexes, or may be storedsomewhere else, such as in the geographic database 116 or otherdatabase. The indexes may be one or more look-up tables, organizationcharts, links or association files or IDs, and/or any index data filesthat associates different data or data files. The data representingidentified road surface or path surface may be stored in the image/videodatabase or linked to view data to allow route highlights to be placedover the road surface or path surface shown in the image view.

In some example embodiments, navigation system 100 (or portions thereof)may be included in an end user device, such as a user equipment. Theuser equipment may be an in-vehicle navigation system, a personalnavigation device (PND), a portable navigation device, a cellulartelephone, a mobile phone, a personal digital assistant (PDA), a smartphone, a watch, a camera, a computer, and/or other device that canperform navigation-related functions, such as digital routing and mapdisplay. In some example embodiments, the user equipment may thusprovide navigation and map functions such as guidance and map display,for example, and for determination of one or more personalized routes orroute segments based on one or more calculated and recorded routes aswell as route videos and the like as disclosed herein.

FIG. 13 depicts a block diagram of an apparatus 10, such as a userequipment, in accordance with some example embodiments. The userequipment may include a user interface to provide maps, routes fornavigation, route videos, velocity based polylines, synchronized routevideos, selection windows/tools, and/or the like as disclosed herein.Moreover, the user equipment may couple to other servers includingnavigation system servers which may be linked to, include, geographicdatabase(s), route video servers, and/or the like.

The apparatus 10 may include at least one antenna 12 in communicationwith a transmitter 14 and a receiver 16. Alternatively transmit andreceive antennas may be separate.

The apparatus 10 may also include a processor 20 configured to providesignals to and receive signals from the transmitter and receiver,respectively, and to control the functioning of the apparatus. Processor20 may be configured to control the functioning of the transmitter andreceiver by effecting control signaling via electrical leads to thetransmitter and receiver. Likewise, processor 20 may be configured tocontrol other elements of apparatus 10 by effecting control signalingvia electrical leads connecting processor 20 to the other elements, suchas a display or a memory. The processor 20 may, for example, be embodiedin a variety of ways including circuitry, at least one processing core,one or more microprocessors with accompanying digital signalprocessor(s), one or more processor(s) without an accompanying digitalsignal processor, one or more coprocessors, one or more multi-coreprocessors, one or more controllers, processing circuitry, one or morecomputers, various other processing elements including integratedcircuits (for example, an application specific integrated circuit(ASIC), a field programmable gate array (FPGA), and/or the like), orsome combination thereof. Accordingly, although illustrated in FIG. 13as a single processor, in some example embodiments the processor 20 maycomprise a plurality of processors or processing cores.

Signals sent and received by the processor 20 may include signalinginformation in accordance with an air interface standard of anapplicable cellular system, and/or any number of different wireline orwireless networking techniques, comprising but not limited to Wi-Fi,wireless local access network (WLAN) techniques, such as Institute ofElectrical and Electronics Engineers (IEEE) 802.11, 802.16, and/or thelike. In addition, these signals may include speech data, user generateddata, user requested data, and/or the like.

The apparatus 10 may be capable of operating with one or more airinterface standards, communication protocols, modulation types, accesstypes, and/or the like. For example, the apparatus 10 and/or a cellularmodem therein may be capable of operating in accordance with variousfirst generation (1G) communication protocols, second generation (2G or2.5G) communication protocols, third-generation (3G) communicationprotocols, fourth-generation (4G) communication protocols,fifth-generation (5G) communication protocols, Internet ProtocolMultimedia Subsystem (IMS) communication protocols (for example, sessioninitiation protocol (SIP) and/or any subsequent revisions orimprovements to these standards. For example, the apparatus 10 may becapable of operating in accordance with 2G wireless communicationprotocols IS-136, Time Division Multiple Access TDMA, Global System forMobile communications, GSM, IS-95, Code Division Multiple Access, CDMA,and/or the like. In addition, for example, the apparatus 10 may becapable of operating in accordance with 2.5G wireless communicationprotocols General Packet Radio Service (GPRS), Enhanced Data GSMEnvironment (EDGE), and/or the like. Further, for example, the apparatus10 may be capable of operating in accordance with 3G wirelesscommunication protocols, such as Universal Mobile TelecommunicationsSystem (UMTS), Code Division Multiple Access 2000 (CDMA2000), WidebandCode Division Multiple Access (WCDMA), Time Division-Synchronous CodeDivision Multiple Access (TD-SCDMA), and/or the like. The apparatus 10may be additionally capable of operating in accordance with 3.9Gwireless communication protocols, such as Long Term Evolution (LTE),Evolved Universal Terrestrial Radio Access Network (E-UTRAN), and/or thelike. Additionally, for example, the apparatus 10 may be capable ofoperating in accordance with 4G wireless communication protocols, suchas LTE Advanced, LTE-Direct, LTE-Unlicensed, and/or the like as well assimilar wireless communication protocols that may be subsequentlydeveloped.

It is understood that the processor 20 may include circuitry forimplementing audio/video and logic functions of apparatus 10. Forexample, the processor 20 may comprise a digital signal processordevice, a microprocessor device, an analog-to-digital converter, adigital-to-analog converter, and/or the like. Control and signalprocessing functions of the apparatus 10 may be allocated between thesedevices according to their respective capabilities. The processor 20 mayadditionally comprise an internal voice coder (VC) 20 a, an internaldata modem (DM) 20 b, and/or the like. For example, the PND may providevoice commands to enable voice-guided navigation. Further, the processor20 may include functionality to operate one or more software programs,which may be stored in memory. In general, processor 20 and storedsoftware instructions may be configured to cause apparatus 10 to performactions. For example, processor 20 may be capable of operating aconnectivity program, such as a web browser. The connectivity programmay allow the apparatus 10 to transmit and receive web content, such aslocation-based content, according to a protocol, such as wirelessapplication protocol, WAP, hypertext transfer protocol, HTTP, and/or thelike.

Apparatus 10 may also comprise a user interface including, for example,an earphone or speaker 24, a ringer 22, a microphone 26, a display 28, auser input interface, and/or the like, which may be operationallycoupled to the processor 20. The display 28 may, as noted above, includea touch sensitive display, where a user may touch and/or gesture to makeselections, enter values, and/or the like. The processor 20 may alsoinclude user interface circuitry configured to control at least somefunctions of one or more elements of the user interface, such as thespeaker 24, the ringer 22, the microphone 26, the display 28, and/or thelike. The processor 20 and/or user interface circuitry comprising theprocessor 20 may be configured to control one or more functions of oneor more elements of the user interface through computer programinstructions, for example, software and/or firmware, stored on a memoryaccessible to the processor 20, for example, volatile memory 40,non-volatile memory 42, and/or the like. The apparatus 10 may include abattery for powering various circuits related to the mobile terminal,for example, a circuit to provide mechanical vibration as a detectableoutput. The user input interface may comprise devices allowing theapparatus 20 to receive data, such as a keypad 30 (which can be avirtual keyboard presented on display 28 or an externally coupledkeyboard) and/or other input devices.

As shown in FIG. 13 , apparatus 10 may also include one or moremechanisms for sharing and/or obtaining data. Moreover, apparatus 10 mayalso include, or be coupled to, a positioning module 71, such as aglobal navigation satellite system (GNSS) receiver, such as GPS and thelike for example, in order to provide positioning information to theapparatus. The apparatus 10 may also include for example short-rangeradio frequency (RF) transceiver and/or interrogator 64, so data may beshared with and/or obtained from electronic devices in accordance withRF techniques. The apparatus 10 may include other short-rangetransceivers, such as an infrared (IR) transceiver 66, a Bluetooth™ (BT)transceiver 68 operating using Bluetooth™ wireless technology, awireless universal serial bus (USB) transceiver 70, a Bluetooth™ LowEnergy transceiver, a ZigBee transceiver, an ANT transceiver, a cellulardevice-to-device transceiver, a wireless local area link transceiver,and/or any other short-range radio technology. Apparatus 10 and, inparticular, the short-range transceiver may be capable of transmittingdata to and/or receiving data from electronic devices within theproximity of the apparatus, such as within 10 meters, for example. Theapparatus 10 including the Wi-Fi or wireless local area networking modemmay also be capable of transmitting and/or receiving data fromelectronic devices according to various wireless networking techniques,including 6LoWpan, Wi-Fi, Wi-Fi low power, WLAN techniques such as IEEE802.11 techniques, IEEE 802.15 techniques, IEEE 802.16 techniques,and/or the like.

The apparatus 10 may comprise memory, such as a subscriber identitymodule (SIM) 38, a removable user identity module (R-UIM), a eUICC, anUICC, and/or the like, which may store information elements related to amobile subscriber. In addition to the SIM, the apparatus 10 may includeother removable and/or fixed memory. The apparatus 10 may includevolatile memory 40 and/or non-volatile memory 42. For example, volatilememory 40 may include Random Access Memory (RAM) including dynamicand/or static RAM, on-chip or off-chip cache memory, and/or the like.Non-volatile memory 42, which may be embedded and/or removable, mayinclude, for example, read-only memory, flash memory, magnetic storagedevices, for example, hard disks, floppy disk drives, magnetic tape,optical disc drives and/or media, non-volatile random access memory(NVRAM), and/or the like. Like volatile memory 40, non-volatile memory42 may include a cache area for temporary storage of data. At least partof the volatile and/or non-volatile memory may be embedded in processor20. The memories may store one or more software programs, instructions,pieces of information, data, and/or the like which may be used by theapparatus to provide the operations disclosed herein including theprocesses at FIG. 1B and/or the like. The memories may comprise anidentifier, such as an international mobile equipment identification(IMEI) code, capable of uniquely identifying apparatus 10. The functionsmay include the operations disclosed herein including the following:generating, by a user equipment, a user interface view including a mapand a polyline representative of a route along the map; generating, bythe user equipment, the polyline to include at least one graphicallydistinct indicator along the route, wherein the at least one graphicallydistinct indicator, when selected at the user interface, initiatespresentation of a video recorded at a location on the route where the atleast one graphically distinct indicator is located; generating aselection window on a user interface view presenting map data and apolyline representative of a route through the map data; sending a queryfor at least one video recorded on the route and recorded within aregion bound by the selection window; receiving, in response to thequery, at least a portion of the polyline including the at least onevideo recorded on the route and recorded within the region bound by theselection window; and/or presenting the portion of the polyline toenable selection and viewing of the least one video.

In the example embodiment, the processor 20 may be configured usingcomputer code stored at memory 40 and/or 42 to perform operations asdisclosed herein with respect to the process at FIG. 1B and/or the like.

Some of the embodiments disclosed herein may be implemented in software,hardware, application logic, or a combination of software, hardware, andapplication logic. The software, application logic, and/or hardware mayreside on memory 40, the control apparatus 20, or electronic components,for example. In some example embodiment, the application logic, softwareor an instruction set is maintained on any one of various conventionalcomputer-readable media. In the context of this document, a“computer-readable medium” may be any non-transitory media that cancontain, store, communicate, propagate or transport the instructions foruse by or in connection with an instruction execution system, apparatus,or device, such as a computer or data processor circuitry, with examplesdepicted at FIG. 13 , computer-readable medium may comprise anon-transitory computer-readable storage medium that may be any mediathat can contain or store the instructions for use by or in connectionwith an instruction execution system, apparatus, or device, such as acomputer.

Without in any way limiting the scope, interpretation, or application ofthe claims appearing herein, a technical effect of one or more of theexample embodiments disclosed herein may include enhanced end-userexperience with respect to navigation.

The subject matter described herein may be embodied in systems,apparatus, methods, and/or articles depending on the desiredconfiguration. For example, the base stations and user equipment (or oneor more components therein) and/or the processes described herein can beimplemented using one or more of the following: a processor executingprogram code, an application-specific integrated circuit (ASIC), adigital signal processor (DSP), an embedded processor, a fieldprogrammable gate array (FPGA), and/or combinations thereof. Thesevarious implementations may include implementation in one or morecomputer programs that are executable and/or interpretable on aprogrammable system including at least one programmable processor, whichmay be special or general purpose, coupled to receive data andinstructions from, and to transmit data and instructions to, a storagesystem, at least one input device, and at least one output device. Thesecomputer programs (also known as programs, software, softwareapplications, applications, components, program code, or code) includemachine instructions for a programmable processor, and may beimplemented in a high-level procedural and/or object-orientedprogramming language, and/or in assembly/machine language. As usedherein, the term “computer-readable medium” refers to any computerprogram product, machine-readable medium, computer-readable storagemedium, apparatus and/or device (for example, magnetic discs, opticaldisks, memory, Programmable Logic Devices (PLDs)) used to providemachine instructions and/or data to a programmable processor, includinga machine-readable medium that receives machine instructions. Similarly,systems are also described herein that may include a processor and amemory coupled to the processor. The memory may include one or moreprograms that cause the processor to perform one or more of theoperations described herein.

Although a few variations have been described in detail above, othermodifications or additions are possible. In particular, further featuresand/or variations may be provided in addition to those set forth herein.Moreover, the implementations described above may be directed to variouscombinations and subcombinations of the disclosed features and/orcombinations and subcombinations of several further features disclosedabove. Other embodiments may be within the scope of the followingclaims.

The different functions discussed herein may be performed in a differentorder and/or concurrently with each other. Furthermore, one or more ofthe above-described functions may be optional or may be combined.Although various aspects of the invention are set out in the independentclaims, other aspects of the invention comprise other combinations offeatures from the described embodiments and/or the dependent claims withthe features of the independent claims, and not solely the combinationsexplicitly set out in the claims. It is also noted herein that while theabove describes example embodiments of the invention, these descriptionsshould not be viewed in a limiting sense. Rather, there are severalvariations and modifications, which may be made without departing fromthe scope of the present invention as, defined in the appended claims.The term “based on” includes “based on at least.”

What is claimed:
 1. A method comprising: generating, by a userequipment, a user interface view including a map and a polylinerepresentative of a route along the map; generating, by the userequipment, the polyline to include at least one graphically distinctindicator along the route, wherein the at least one graphically distinctindicator, upon selection at the user interface view, initiatespresentation of at least one video recorded at a location on the routewhere the at least one graphically distinct indicator is located;generating, by the user equipment, a selection window on the userinterface view, wherein the selection window overlays a portion of theuser interface view and is configured to be user-adjustable such thatthe selection window is movable and adjustable to select a user-adjustedselection, the user-adjusted selection comprising a selected subset ofthe user interface view including a portion of the map, wherein theuser-adjusted selection comprises a portion of the polyline and does notcomprise at least one other portion of the polyline, wherein the portionof the polyline includes a corresponding graphically distinct indicatorof a speed of a camera that recorded the at least one video at thelocation on the route where the at least one graphically distinctindicator is located; presenting, on the user equipment, theuser-adjusted selection comprising the portion of the polyline; inresponse to the user-adjusted selection comprising the portion of thepolyline, triggering a search for the at least one video associated withthe portion of the polyline located within the user-adjusted selectionto enable presentation of the at least one video, wherein the search forthe at least one video specifies at least the speed corresponding to thegraphically distinct indicator of the speed of the camera that recordingthe at least one video at the location, wherein a region bound by theuser-adjusted selection defines a viewing start time and a viewing endtime of the associated at least one video based on location informationand time information stored with, or linked to, the associated at leastone video, wherein the search further specifies the viewing start time,the viewing end time, and the location; and presenting, the at least onevideo obtained by the search, while inhibiting and/or blocking, by theuser equipment, presentation of the at least one other portion of thepolyline located outside of the user-adjusted selection.
 2. The methodof claim 1, wherein the at least one graphically distinct indicatorcomprises a color, a style, and/or a shading, wherein the color, thestyle, and/or the shading are varied in accordance with the speed. 3.The method of claim 1, wherein a first graphically distinct indicator isgraphically different from a second graphically distinct indicator toindicate a difference in the speed.
 4. The method of claim 1, whereinthe route along the map comprises map data including the locationinformation and the time information, wherein the time informationenables a determination of the speed at the location corresponding tothe at least one graphically distinct indicator.
 5. The method of claim1, further comprising receiving, from a navigation system server and inresponse to the search, at least the portion of the polyline includingthe at least one video associated with the portion of the polyline. 6.The method of claim 5 further comprising: receiving, in response to thesearch, map data comprising geographic features in a geographic regiondefined by the region bound by the user-adjusted selection.
 7. Themethod of claim 6, wherein the map data comprises at least one of: atleast one road segment database record, at least one node databaserecord, at least one pedestrian segment database record, at least oneorientation node database record, and at least one image data record. 8.The method of claim 6, wherein the search is performed on a thenavigation system server, wherein the navigation system server storesvideo data and the at least one video, wherein the video data is linkedto, or stored with, at least the map data including the locationinformation to enable searches queries for the at least one video. 9.The method of claim 8, wherein a location of the at least one video isadjusted to the location information of the map data.
 10. The method ofclaim 1, further comprising: varying a playback speed of the at leastone video based on a shape of the polyline, a speed associated with theportion of the polyline, and/or the map data associated with the portionof the polyline.
 11. The method of claim 1, wherein the at least onevideo within the region is presented sequentially based on time.
 12. Themethod of claim 1, wherein the inhibiting and/or blocking, by the userequipment, further includes clipping at least a first portion of the atleast one video indicated as obstructed based on a building model. 13.An apparatus comprising: at least one processor; and at least one memoryincluding computer program code, the at least one memory and thecomputer program code configured to, with the at least one processor,cause the apparatus to at least: generate a user interface viewincluding a map and a polyline representative of a route along the map;generate the polyline to include at least one graphically distinctindicator along the route, wherein the at least one graphically distinctindicator, when selected at the user interface view, initiatespresentation of at least one video recorded at a location on the routewhere the at least one graphically distinct indicator is located;generate a selection window on the user interface view, wherein theselection window overlays a portion of the user interface view and isconfigured to be user-adjustable such that the selection window ismovable and adjustable to select a user-adjusted selection, theuser-adjusted selection comprising a selected subset of the userinterface view including a portion of the map, wherein the user-adjustedselection comprises a portion of the polyline and does not comprise atleast one other portion of the polyline, wherein the portion of thepolyline includes a corresponding graphically distinct indicator of aspeed of a camera that recorded the at least one video at the locationon the route where the at least one graphically distinct indicator islocated; present the user-adjusted selection comprising the portion ofthe polyline; in response to the user-adjusted selection comprising theportion of the polyline, trigger a search for the at least one videoassociated with the portion of the polyline located within theuser-adjusted selection to enable presentation of the at least onevideo, wherein the search for the at least one video specifies at leastthe speed corresponding to the graphically distinct indicator of thespeed of the camera recording the at least one video at the location,wherein a region bound by the user-adjusted selection defines a viewingstart time and a viewing end time of the associated at least one videobased on location information and time information stored with, orlinked to, the associated at least one video, wherein the search furtherspecifies the viewing start time, the viewing end time, and thelocation; and present, the at least one video obtained by the search,while inhibit and/or block presentation of at least one other portion ofthe polyline located outside of the user-adjusted selection.
 14. Theapparatus of claim 13, wherein the at least one graphically distinctindicator comprises a color, a style, and/or a shading, wherein thecolor, the style, and/or the shading are varied in accordance with thespeed.
 15. The apparatus of claim 13, wherein a first graphicallydistinct indicator is graphically different from a second graphicallydistinct indicator to indicate a difference in the speed.